草庐IT

Model-based learning 简单实践

全部标签

go - 使用 Go 模块时生成 in-repo protos 的最佳实践

tl;dr以前配置为使用GOPATH的repo现在配置为模块。一切都很好,越来越好。但是,protoc正确地(!)为在github.com/path/to/repo/protos结构中的repo中定义的protobufs生成Golang代码,而我现在更喜欢在我的源代码中生成这些代码,在GOPATH之外。我正在移动他们来解决这个问题。有更好的解决方案吗?我有一个GitHub存储库。为了方便讨论,我们称它为github.com/acme/toolbox。在子目录中,我有protobuf文件,其中包括:packageacme.toolbox.v1;optiongo_package="gith

go - 有没有更简单的方法来更新本地 Go 包

我正在使用导入到不同项目中的多个包,这些包包括用于我的业务逻辑的自定义适配器,这些适配器由lambda和谷歌云函数以及其他公共(public)包共享。我现在这样做的方式是我出售它们并将它们包含在云功能中。对于可以在虚拟机上编译部署的应用,我都是单独编译的。这对我来说很好,但是,开发这些模块很痛苦。如果我更新包中的方法签名和名称,我必须将我的更改推送到github/gitlab(我的包路径类似于gitlab.com/groupName/projectName/pkg/packageName),然后执行goget-u以更新包。这也并没有真正更新它,有时会卡在旧版本上而不知道如何更新它。我想

user-interface - 增加这个简单的 go gui 应用程序的默认字体大小

我正在使用以下简单的演示代码来使用Fyne创建一个GUI包:packagemainimport("fyne.io/fyne/widget""fyne.io/fyne/app")funcmain(){app:=app.New()w:=app.NewWindow("Hello")w.SetContent(widget.NewVBox(widget.NewLabel("HelloFyne!"),widget.NewButton("Quit",func(){app.Quit()}),))w.ShowAndRun()}一切正常,但我想增加此GUI的默认字体大小(以便标签、按钮和任何其他小部件(如

go - 简单的服务器客户端通信不起作用

这个看似简单的例子并没有像预期的那样工作,我不好意思问这个问题,但是这里是:有一个客户端重试连接到服务器,发送消息,然后等待响应:funcclient(){varconnnet.Connvarerrerror//retryserveruntilitisupfor{conn,err=net.Dial("tcp",":8081")iferr==nil{break}log.Println(err)time.Sleep(time.Second)}//writetoserver_,err=conn.Write([]byte("request"))iferr!=nil{log.Println(er

go - 有没有更简单的方法来使用 FlatBuffers 序列化 [][]byte?

我希望使用FlatBuffers序列化[][]byte消息。鉴于不能嵌套FBS向量,这似乎是要走的路:namespacemsgfbs;tableSubmitMessage{nonces:[Nonce];}tableNonce{bytes:[ubyte];}现在为了编写这个结构,我最终编写了这个函数:funcNewSubmitMessage(builder*fbs.Builder,nonces[][]byte)[]byte{builder.Reset()nonceCount:=len(nonces)//ConvertnoncestobytevectorsbyteVectors:=make

concurrency - Go Memory Model文档中给出的这个例子失败的原因是什么?

在Go内存模型文档中http://golang.org/ref/mem它给出了以下示例:varastringvardoneboolfuncsetup(){a="hello,world"done=true}funcmain(){gosetup()for!done{}print(a)}然后它说这个例子的以下内容。"thereisnoguaranteethatthewritetodonewilleverbeobservedbymain,sincetherearenosynchronizationeventsbetweenthetwothreads.Theloopinmainisnotguar

go - 如何修复这个简单程序中的 'declared but not used' 编译器错误?

我正在努力学习围棋。我真的不明白为什么编译器说我没有使用变量。在我看来,我正在使用该变量作为Println的参数。我的教科书说:Inthisforloopirepresentsthecurrentpositioninthearrayandvalueisthesameasx[i]packagemainimport"fmt"funcmain(){x:=[5]float64{1,2,3,4,5}i:=0vartotalfloat64=0fori,value:=rangex{total+=valuefmt.Println(i,value)}fmt.Println("Average:",tota

model-view-controller - 我可以在golang中根据字符串实例化不同的类型吗?

我想用golang实现MVC。但似乎很难实现我想要的。在Testcontroller.go中我有:func(c*TestController)Test(){//}func(c*TestController)Index(){//}只有一个Controller,我可以使用reflect.ValueOf(TestController{}).MethodByName().Call()来执行该功能。现在我想添加另一个Controller。但似乎我无法通过不同的字符串新建不同的实例:controllerName:=strings.Split(r.URL.Path,"/")controller=re

python - 应用引擎 : convert ndb model to go lang struct

我在AppEngine上有一个python模块和一个go模块。go模块相当简单,只是为由python模块填充的数据存储提供一个只读搜索接口(interface)。如何将以下ndb模型转换为go结构:classCourse(ndb.Model):name=ndb.StringProperty()neat_name=ndb.StringProperty(required=True)country=ndb.KeyProperty(kind=Country,required=True)university=ndb.KeyProperty(kind=University,required=Tru

model-view-controller - 路由器找不到 Controller Beego

我有一个正在运行的beego应用程序,然后我的路由器停止寻找Controller,我不知道为什么。无论我输入什么url,路由器都不会指向提示nomatch的Controller2016/07/2617:24:50[router.go:829][D]|GET|/|478.352µs|notmatch|app.confappname=exampleapphttpport=8080runmode=devrouter.gopackageroutersimport("github.com/astaxie/beego""example/controllers")funcinit(){beego.R